package org.smart4j.framework.common.aop;

/**
 * 代理接口
 *
 * @author YooLin1c
 * @version 1.0.0
 * @since 2018-02-03 13:11
 */
public interface Proxy {
    /**
     * 执行链式代理
     * 链式代理：多个代理通过一条链子串起来，执行顺序取决于添加的先后顺序
     *
     * @param proxyChain 代理链
     * @return
     * @throws Throwable
     */
    Object doProxy(ProxyChain proxyChain) throws Throwable;
}
